home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / interp / perl5.005.tar.gz / perl5.005.tar / perl5.005 / t / op / re_tests < prev    next >
Text File  |  1998-07-08  |  14KB  |  486 lines

  1. abc    abc    y    $&    abc
  2. abc    xbc    n    -    -
  3. abc    axc    n    -    -
  4. abc    abx    n    -    -
  5. abc    xabcy    y    $&    abc
  6. abc    ababc    y    $&    abc
  7. ab*c    abc    y    $&    abc
  8. ab*bc    abc    y    $&    abc
  9. ab*bc    abbc    y    $&    abbc
  10. ab*bc    abbbbc    y    $&    abbbbc
  11. .{1}    abbbbc    y    $&    a
  12. .{3,4}    abbbbc    y    $&    abbb
  13. ab{0,}bc    abbbbc    y    $&    abbbbc
  14. ab+bc    abbc    y    $&    abbc
  15. ab+bc    abc    n    -    -
  16. ab+bc    abq    n    -    -
  17. ab{1,}bc    abq    n    -    -
  18. ab+bc    abbbbc    y    $&    abbbbc
  19. ab{1,}bc    abbbbc    y    $&    abbbbc
  20. ab{1,3}bc    abbbbc    y    $&    abbbbc
  21. ab{3,4}bc    abbbbc    y    $&    abbbbc
  22. ab{4,5}bc    abbbbc    n    -    -
  23. ab?bc    abbc    y    $&    abbc
  24. ab?bc    abc    y    $&    abc
  25. ab{0,1}bc    abc    y    $&    abc
  26. ab?bc    abbbbc    n    -    -
  27. ab?c    abc    y    $&    abc
  28. ab{0,1}c    abc    y    $&    abc
  29. ^abc$    abc    y    $&    abc
  30. ^abc$    abcc    n    -    -
  31. ^abc    abcc    y    $&    abc
  32. ^abc$    aabc    n    -    -
  33. abc$    aabc    y    $&    abc
  34. abc$    aabcd    n    -    -
  35. ^    abc    y    $&    
  36. $    abc    y    $&    
  37. a.c    abc    y    $&    abc
  38. a.c    axc    y    $&    axc
  39. a.*c    axyzc    y    $&    axyzc
  40. a.*c    axyzd    n    -    -
  41. a[bc]d    abc    n    -    -
  42. a[bc]d    abd    y    $&    abd
  43. a[b-d]e    abd    n    -    -
  44. a[b-d]e    ace    y    $&    ace
  45. a[b-d]    aac    y    $&    ac
  46. a[-b]    a-    y    $&    a-
  47. a[b-]    a-    y    $&    a-
  48. a[b-a]    -    c    -    /a[b-a]/: invalid [] range in regexp
  49. a[]b    -    c    -    /a[]b/: unmatched [] in regexp
  50. a[    -    c    -    /a[/: unmatched [] in regexp
  51. a]    a]    y    $&    a]
  52. a[]]b    a]b    y    $&    a]b
  53. a[^bc]d    aed    y    $&    aed
  54. a[^bc]d    abd    n    -    -
  55. a[^-b]c    adc    y    $&    adc
  56. a[^-b]c    a-c    n    -    -
  57. a[^]b]c    a]c    n    -    -
  58. a[^]b]c    adc    y    $&    adc
  59. \ba\b    a-    y    -    -
  60. \ba\b    -a    y    -    -
  61. \ba\b    -a-    y    -    -
  62. \by\b    xy    n    -    -
  63. \by\b    yz    n    -    -
  64. \by\b    xyz    n    -    -
  65. \Ba\B    a-    n    -    -
  66. \Ba\B    -a    n    -    -
  67. \Ba\B    -a-    n    -    -
  68. \By\b    xy    y    -    -
  69. \by\B    yz    y    -    -
  70. \By\B    xyz    y    -    -
  71. \w    a    y    -    -
  72. \w    -    n    -    -
  73. \W    a    n    -    -
  74. \W    -    y    -    -
  75. a\sb    a b    y    -    -
  76. a\sb    a-b    n    -    -
  77. a\Sb    a b    n    -    -
  78. a\Sb    a-b    y    -    -
  79. \d    1    y    -    -
  80. \d    -    n    -    -
  81. \D    1    n    -    -
  82. \D    -    y    -    -
  83. [\w]    a    y    -    -
  84. [\w]    -    n    -    -
  85. [\W]    a    n    -    -
  86. [\W]    -    y    -    -
  87. a[\s]b    a b    y    -    -
  88. a[\s]b    a-b    n    -    -
  89. a[\S]b    a b    n    -    -
  90. a[\S]b    a-b    y    -    -
  91. [\d]    1    y    -    -
  92. [\d]    -    n    -    -
  93. [\D]    1    n    -    -
  94. [\D]    -    y    -    -
  95. ab|cd    abc    y    $&    ab
  96. ab|cd    abcd    y    $&    ab
  97. ()ef    def    y    $&-$1    ef-
  98. *a    -    c    -    /*a/: ?+*{} follows nothing in regexp
  99. (*)b    -    c    -    /(*)b/: ?+*{} follows nothing in regexp
  100. $b    b    n    -    -
  101. a\    -    c    -    Search pattern not terminated
  102. a\(b    a(b    y    $&-$1    a(b-
  103. a\(*b    ab    y    $&    ab
  104. a\(*b    a((b    y    $&    a((b
  105. a\\b    a\b    y    $&    a\b
  106. abc)    -    c    -    /abc)/: unmatched () in regexp
  107. (abc    -    c    -    /(abc/: unmatched () in regexp
  108. ((a))    abc    y    $&-$1-$2    a-a-a
  109. (a)b(c)    abc    y    $&-$1-$2    abc-a-c
  110. a+b+c    aabbabc    y    $&    abc
  111. a{1,}b{1,}c    aabbabc    y    $&    abc
  112. a**    -    c    -    /a**/: nested *?+ in regexp
  113. a.+?c    abcabc    y    $&    abc
  114. (a+|b)*    ab    y    $&-$1    ab-b
  115. (a+|b){0,}    ab    y    $&-$1    ab-b
  116. (a+|b)+    ab    y    $&-$1    ab-b
  117. (a+|b){1,}    ab    y    $&-$1    ab-b
  118. (a+|b)?    ab    y    $&-$1    a-a
  119. (a+|b){0,1}    ab    y    $&-$1    a-a
  120. )(    -    c    -    /)(/: unmatched () in regexp
  121. [^ab]*    cde    y    $&    cde
  122. abc        n    -    -
  123. a*        y    $&    
  124. ([abc])*d    abbbcd    y    $&-$1    abbbcd-c
  125. ([abc])*bcd    abcd    y    $&-$1    abcd-a
  126. a|b|c|d|e    e    y    $&    e
  127. (a|b|c|d|e)f    ef    y    $&-$1    ef-e
  128. abcd*efg    abcdefg    y    $&    abcdefg
  129. ab*    xabyabbbz    y    $&    ab
  130. ab*    xayabbbz    y    $&    a
  131. (ab|cd)e    abcde    y    $&-$1    cde-cd
  132. [abhgefdc]ij    hij    y    $&    hij
  133. ^(ab|cd)e    abcde    n    x$1y    xy
  134. (abc|)ef    abcdef    y    $&-$1    ef-
  135. (a|b)c*d    abcd    y    $&-$1    bcd-b
  136. (ab|ab*)bc    abc    y    $&-$1    abc-a
  137. a([bc]*)c*    abc    y    $&-$1    abc-bc
  138. a([bc]*)(c*d)    abcd    y    $&-$1-$2    abcd-bc-d
  139. a([bc]+)(c*d)    abcd    y    $&-$1-$2    abcd-bc-d
  140. a([bc]*)(c+d)    abcd    y    $&-$1-$2    abcd-b-cd
  141. a[bcd]*dcdcde    adcdcde    y    $&    adcdcde
  142. a[bcd]+dcdcde    adcdcde    n    -    -
  143. (ab|a)b*c    abc    y    $&-$1    abc-ab
  144. ((a)(b)c)(d)    abcd    y    $1-$2-$3-$4    abc-a-b-d
  145. [a-zA-Z_][a-zA-Z0-9_]*    alpha    y    $&    alpha
  146. ^a(bc+|b[eh])g|.h$    abh    y    $&-$1    bh-
  147. (bc+d$|ef*g.|h?i(j|k))    effgz    y    $&-$1-$2    effgz-effgz-
  148. (bc+d$|ef*g.|h?i(j|k))    ij    y    $&-$1-$2    ij-ij-j
  149. (bc+d$|ef*g.|h?i(j|k))    effg    n    -    -
  150. (bc+d$|ef*g.|h?i(j|k))    bcdd    n    -    -
  151. (bc+d$|ef*g.|h?i(j|k))    reffgz    y    $&-$1-$2    effgz-effgz-
  152. ((((((((((a))))))))))    a    y    $10    a
  153. ((((((((((a))))))))))\10    aa    y    $&    aa
  154. ((((((((((a))))))))))\41    aa    n    -    -
  155. ((((((((((a))))))))))\41    a!    y    $&    a!
  156. (((((((((a)))))))))    a    y    $&    a
  157. multiple words of text    uh-uh    n    -    -
  158. multiple words    multiple words, yeah    y    $&    multiple words
  159. (.*)c(.*)    abcde    y    $&-$1-$2    abcde-ab-de
  160. \((.*), (.*)\)    (a, b)    y    ($2, $1)    (b, a)
  161. [k]    ab    n    -    -
  162. abcd    abcd    y    $&-\$&-\\$&    abcd-$&-\abcd
  163. a(bc)d    abcd    y    $1-\$1-\\$1    bc-$1-\bc
  164. a[-]?c    ac    y    $&    ac
  165. (abc)\1    abcabc    y    $1    abc
  166. ([a-c]*)\1    abcabc    y    $1    abc
  167. \1    -    c    -    /\1/: reference to nonexistent group
  168. \2    -    c    -    /\2/: reference to nonexistent group
  169. (a)|\1    a    y    -    -
  170. (a)|\1    x    n    -    -
  171. (a)|\2    -    c    -    /(a)|\2/: reference to nonexistent group
  172. (([a-c])b*?\2)*    ababbbcbc    y    $&-$1-$2    ababb-bb-b
  173. (([a-c])b*?\2){3}    ababbbcbc    y    $&-$1-$2    ababbbcbc-cbc-c
  174. ((\3|b)\2(a)x)+    aaxabxbaxbbx    n    -    -
  175. ((\3|b)\2(a)x)+    aaaxabaxbaaxbbax    y    $&-$1-$2-$3    bbax-bbax-b-a
  176. ((\3|b)\2(a)){2,}    bbaababbabaaaaabbaaaabba    y    $&-$1-$2-$3    bbaaaabba-bba-b-a
  177. 'abc'i    ABC    y    $&    ABC
  178. 'abc'i    XBC    n    -    -
  179. 'abc'i    AXC    n    -    -
  180. 'abc'i    ABX    n    -    -
  181. 'abc'i    XABCY    y    $&    ABC
  182. 'abc'i    ABABC    y    $&    ABC
  183. 'ab*c'i    ABC    y    $&    ABC
  184. 'ab*bc'i    ABC    y    $&    ABC
  185. 'ab*bc'i    ABBC    y    $&    ABBC
  186. 'ab*?bc'i    ABBBBC    y    $&    ABBBBC
  187. 'ab{0,}?bc'i    ABBBBC    y    $&    ABBBBC
  188. 'ab+?bc'i    ABBC    y    $&    ABBC
  189. 'ab+bc'i    ABC    n    -    -
  190. 'ab+bc'i    ABQ    n    -    -
  191. 'ab{1,}bc'i    ABQ    n    -    -
  192. 'ab+bc'i    ABBBBC    y    $&    ABBBBC
  193. 'ab{1,}?bc'i    ABBBBC    y    $&    ABBBBC
  194. 'ab{1,3}?bc'i    ABBBBC    y    $&    ABBBBC
  195. 'ab{3,4}?bc'i    ABBBBC    y    $&    ABBBBC
  196. 'ab{4,5}?bc'i    ABBBBC    n    -    -
  197. 'ab??bc'i    ABBC    y    $&    ABBC
  198. 'ab??bc'i    ABC    y    $&    ABC
  199. 'ab{0,1}?bc'i    ABC    y    $&    ABC
  200. 'ab??bc'i    ABBBBC    n    -    -
  201. 'ab??c'i    ABC    y    $&    ABC
  202. 'ab{0,1}?c'i    ABC    y    $&    ABC
  203. '^abc$'i    ABC    y    $&    ABC
  204. '^abc$'i    ABCC    n    -    -
  205. '^abc'i    ABCC    y    $&    ABC
  206. '^abc$'i    AABC    n    -    -
  207. 'abc$'i    AABC    y    $&    ABC
  208. '^'i    ABC    y    $&    
  209. '$'i    ABC    y    $&    
  210. 'a.c'i    ABC    y    $&    ABC
  211. 'a.c'i    AXC    y    $&    AXC
  212. 'a.*?c'i    AXYZC    y    $&    AXYZC
  213. 'a.*c'i    AXYZD    n    -    -
  214. 'a[bc]d'i    ABC    n    -    -
  215. 'a[bc]d'i    ABD    y    $&    ABD
  216. 'a[b-d]e'i    ABD    n    -    -
  217. 'a[b-d]e'i    ACE    y    $&    ACE
  218. 'a[b-d]'i    AAC    y    $&    AC
  219. 'a[-b]'i    A-    y    $&    A-
  220. 'a[b-]'i    A-    y    $&    A-
  221. 'a[b-a]'i    -    c    -    /a[b-a]/: invalid [] range in regexp
  222. 'a[]b'i    -    c    -    /a[]b/: unmatched [] in regexp
  223. 'a['i    -    c    -    /a[/: unmatched [] in regexp
  224. 'a]'i    A]    y    $&    A]
  225. 'a[]]b'i    A]B    y    $&    A]B
  226. 'a[^bc]d'i    AED    y    $&    AED
  227. 'a[^bc]d'i    ABD    n    -    -
  228. 'a[^-b]c'i    ADC    y    $&    ADC
  229. 'a[^-b]c'i    A-C    n    -    -
  230. 'a[^]b]c'i    A]C    n    -    -
  231. 'a[^]b]c'i    ADC    y    $&    ADC
  232. 'ab|cd'i    ABC    y    $&    AB
  233. 'ab|cd'i    ABCD    y    $&    AB
  234. '()ef'i    DEF    y    $&-$1    EF-
  235. '*a'i    -    c    -    /*a/: ?+*{} follows nothing in regexp
  236. '(*)b'i    -    c    -    /(*)b/: ?+*{} follows nothing in regexp
  237. '$b'i    B    n    -    -
  238. 'a\'i    -    c    -    Search pattern not terminated
  239. 'a\(b'i    A(B    y    $&-$1    A(B-
  240. 'a\(*b'i    AB    y    $&    AB
  241. 'a\(*b'i    A((B    y    $&    A((B
  242. 'a\\b'i    A\B    y    $&    A\B
  243. 'abc)'i    -    c    -    /abc)/: unmatched () in regexp
  244. '(abc'i    -    c    -    /(abc/: unmatched () in regexp
  245. '((a))'i    ABC    y    $&-$1-$2    A-A-A
  246. '(a)b(c)'i    ABC    y    $&-$1-$2    ABC-A-C
  247. 'a+b+c'i    AABBABC    y    $&    ABC
  248. 'a{1,}b{1,}c'i    AABBABC    y    $&    ABC
  249. 'a**'i    -    c    -    /a**/: nested *?+ in regexp
  250. 'a.+?c'i    ABCABC    y    $&    ABC
  251. 'a.*?c'i    ABCABC    y    $&    ABC
  252. 'a.{0,5}?c'i    ABCABC    y    $&    ABC
  253. '(a+|b)*'i    AB    y    $&-$1    AB-B
  254. '(a+|b){0,}'i    AB    y    $&-$1    AB-B
  255. '(a+|b)+'i    AB    y    $&-$1    AB-B
  256. '(a+|b){1,}'i    AB    y    $&-$1    AB-B
  257. '(a+|b)?'i    AB    y    $&-$1    A-A
  258. '(a+|b){0,1}'i    AB    y    $&-$1    A-A
  259. '(a+|b){0,1}?'i    AB    y    $&-$1    -
  260. ')('i    -    c    -    /)(/: unmatched () in regexp
  261. '[^ab]*'i    CDE    y    $&    CDE
  262. 'abc'i        n    -    -
  263. 'a*'i        y    $&    
  264. '([abc])*d'i    ABBBCD    y    $&-$1    ABBBCD-C
  265. '([abc])*bcd'i    ABCD    y    $&-$1    ABCD-A
  266. 'a|b|c|d|e'i    E    y    $&    E
  267. '(a|b|c|d|e)f'i    EF    y    $&-$1    EF-E
  268. 'abcd*efg'i    ABCDEFG    y    $&    ABCDEFG
  269. 'ab*'i    XABYABBBZ    y    $&    AB
  270. 'ab*'i    XAYABBBZ    y    $&    A
  271. '(ab|cd)e'i    ABCDE    y    $&-$1    CDE-CD
  272. '[abhgefdc]ij'i    HIJ    y    $&    HIJ
  273. '^(ab|cd)e'i    ABCDE    n    x$1y    XY
  274. '(abc|)ef'i    ABCDEF    y    $&-$1    EF-
  275. '(a|b)c*d'i    ABCD    y    $&-$1    BCD-B
  276. '(ab|ab*)bc'i    ABC    y    $&-$1    ABC-A
  277. 'a([bc]*)c*'i    ABC    y    $&-$1    ABC-BC
  278. 'a([bc]*)(c*d)'i    ABCD    y    $&-$1-$2    ABCD-BC-D
  279. 'a([bc]+)(c*d)'i    ABCD    y    $&-$1-$2    ABCD-BC-D
  280. 'a([bc]*)(c+d)'i    ABCD    y    $&-$1-$2    ABCD-B-CD
  281. 'a[bcd]*dcdcde'i    ADCDCDE    y    $&    ADCDCDE
  282. 'a[bcd]+dcdcde'i    ADCDCDE    n    -    -
  283. '(ab|a)b*c'i    ABC    y    $&-$1    ABC-AB
  284. '((a)(b)c)(d)'i    ABCD    y    $1-$2-$3-$4    ABC-A-B-D
  285. '[a-zA-Z_][a-zA-Z0-9_]*'i    ALPHA    y    $&    ALPHA
  286. '^a(bc+|b[eh])g|.h$'i    ABH    y    $&-$1    BH-
  287. '(bc+d$|ef*g.|h?i(j|k))'i    EFFGZ    y    $&-$1-$2    EFFGZ-EFFGZ-
  288. '(bc+d$|ef*g.|h?i(j|k))'i    IJ    y    $&-$1-$2    IJ-IJ-J
  289. '(bc+d$|ef*g.|h?i(j|k))'i    EFFG    n    -    -
  290. '(bc+d$|ef*g.|h?i(j|k))'i    BCDD    n    -    -
  291. '(bc+d$|ef*g.|h?i(j|k))'i    REFFGZ    y    $&-$1-$2    EFFGZ-EFFGZ-
  292. '((((((((((a))))))))))'i    A    y    $10    A
  293. '((((((((((a))))))))))\10'i    AA    y    $&    AA
  294. '((((((((((a))))))))))\41'i    AA    n    -    -
  295. '((((((((((a))))))))))\41'i    A!    y    $&    A!
  296. '(((((((((a)))))))))'i    A    y    $&    A
  297. '(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i    A    y    $1    A
  298. '(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i    C    y    $1    C
  299. 'multiple words of text'i    UH-UH    n    -    -
  300. 'multiple words'i    MULTIPLE WORDS, YEAH    y    $&    MULTIPLE WORDS
  301. '(.*)c(.*)'i    ABCDE    y    $&-$1-$2    ABCDE-AB-DE
  302. '\((.*), (.*)\)'i    (A, B)    y    ($2, $1)    (B, A)
  303. '[k]'i    AB    n    -    -
  304. 'abcd'i    ABCD    y    $&-\$&-\\$&    ABCD-$&-\ABCD
  305. 'a(bc)d'i    ABCD    y    $1-\$1-\\$1    BC-$1-\BC
  306. 'a[-]?c'i    AC    y    $&    AC
  307. '(abc)\1'i    ABCABC    y    $1    ABC
  308. '([a-c]*)\1'i    ABCABC    y    $1    ABC
  309. a(?!b).    abad    y    $&    ad
  310. a(?=d).    abad    y    $&    ad
  311. a(?=c|d).    abad    y    $&    ad
  312. a(?:b|c|d)(.)    ace    y    $1    e
  313. a(?:b|c|d)*(.)    ace    y    $1    e
  314. a(?:b|c|d)+?(.)    ace    y    $1    e
  315. a(?:b|c|d)+?(.)    acdbcdbe    y    $1    d
  316. a(?:b|c|d)+(.)    acdbcdbe    y    $1    e
  317. a(?:b|c|d){2}(.)    acdbcdbe    y    $1    b
  318. a(?:b|c|d){4,5}(.)    acdbcdbe    y    $1    b
  319. a(?:b|c|d){4,5}?(.)    acdbcdbe    y    $1    d
  320. ((foo)|(bar))*    foobar    y    $1-$2-$3    bar-foo-bar
  321. :(?:    -    c    -    /(?/: Sequence (? incomplete
  322. a(?:b|c|d){6,7}(.)    acdbcdbe    y    $1    e
  323. a(?:b|c|d){6,7}?(.)    acdbcdbe    y    $1    e
  324. a(?:b|c|d){5,6}(.)    acdbcdbe    y    $1    e
  325. a(?:b|c|d){5,6}?(.)    acdbcdbe    y    $1    b
  326. a(?:b|c|d){5,7}(.)    acdbcdbe    y    $1    e
  327. a(?:b|c|d){5,7}?(.)    acdbcdbe    y    $1    b
  328. a(?:b|(c|e){1,2}?|d)+?(.)    ace    y    $1$2    ce
  329. ^(.+)?B    AB    y    $1    A
  330. ^([^a-z])|(\^)$    .    y    $1    .
  331. ^[<>]&    <&OUT    y    $&    <&
  332. ^(a\1?){4}$    aaaaaaaaaa    y    $1    aaaa
  333. ^(a\1?){4}$    aaaaaaaaa    n    -    -
  334. ^(a\1?){4}$    aaaaaaaaaaa    n    -    -
  335. ^(a(?(1)\1)){4}$    aaaaaaaaaa    y    $1    aaaa
  336. ^(a(?(1)\1)){4}$    aaaaaaaaa    n    -    -
  337. ^(a(?(1)\1)){4}$    aaaaaaaaaaa    n    -    -
  338. (?:(f)(o)(o)|(b)(a)(r))*    foobar    y    $1:$2:$3:$4:$5:$6    f:o:o:b:a:r
  339. (?<=a)b    ab    y    $&    b
  340. (?<=a)b    cb    n    -    -
  341. (?<=a)b    b    n    -    -
  342. (?<!c)b    ab    y    $&    b
  343. (?<!c)b    cb    n    -    -
  344. (?<!c)b    b    y    -    -
  345. (?<!c)b    b    y    $&    b
  346. (?<%)b    -    c    -    /(?<%)b/: Sequence (?%...) not recognized
  347. (?:..)*a    aba    y    $&    aba
  348. (?:..)*?a    aba    y    $&    a
  349. ^(?:b|a(?=(.)))*\1    abc    y    $&    ab
  350. ^(){3,5}    abc    y    a$1    a
  351. ^(a+)*ax    aax    y    $1    a
  352. ^((a|b)+)*ax    aax    y    $1    a
  353. ^((a|bc)+)*ax    aax    y    $1    a
  354. (a|x)*ab    cab    y    y$1    y
  355. (a)*ab    cab    y    y$1    y
  356. (?:(?i)a)b    ab    y    $&    ab
  357. ((?i)a)b    ab    y    $&:$1    ab:a
  358. (?:(?i)a)b    Ab    y    $&    Ab
  359. ((?i)a)b    Ab    y    $&:$1    Ab:A
  360. (?:(?i)a)b    aB    n    -    -
  361. ((?i)a)b    aB    n    -    -
  362. (?i:a)b    ab    y    $&    ab
  363. ((?i:a))b    ab    y    $&:$1    ab:a
  364. (?i:a)b    Ab    y    $&    Ab
  365. ((?i:a))b    Ab    y    $&:$1    Ab:A
  366. (?i:a)b    aB    n    -    -
  367. ((?i:a))b    aB    n    -    -
  368. '(?:(?-i)a)b'i    ab    y    $&    ab
  369. '((?-i)a)b'i    ab    y    $&:$1    ab:a
  370. '(?:(?-i)a)b'i    aB    y    $&    aB
  371. '((?-i)a)b'i    aB    y    $&:$1    aB:a
  372. '(?:(?-i)a)b'i    Ab    n    -    -
  373. '((?-i)a)b'i    Ab    n    -    -
  374. '(?:(?-i)a)b'i    aB    y    $&    aB
  375. '((?-i)a)b'i    aB    y    $1    a
  376. '(?:(?-i)a)b'i    AB    n    -    -
  377. '((?-i)a)b'i    AB    n    -    -
  378. '(?-i:a)b'i    ab    y    $&    ab
  379. '((?-i:a))b'i    ab    y    $&:$1    ab:a
  380. '(?-i:a)b'i    aB    y    $&    aB
  381. '((?-i:a))b'i    aB    y    $&:$1    aB:a
  382. '(?-i:a)b'i    Ab    n    -    -
  383. '((?-i:a))b'i    Ab    n    -    -
  384. '(?-i:a)b'i    aB    y    $&    aB
  385. '((?-i:a))b'i    aB    y    $1    a
  386. '(?-i:a)b'i    AB    n    -    -
  387. '((?-i:a))b'i    AB    n    -    -
  388. '((?-i:a.))b'i    a\nB    n    -    -
  389. '((?s-i:a.))b'i    a\nB    y    $1    a\n
  390. '((?s-i:a.))b'i    B\nB    n    -    -
  391. (?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))    cabbbb    y    $&    cabbbb
  392. (?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))    caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb    y    $&    caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
  393. '(ab)\d\1'i    Ab4ab    y    $1    Ab
  394. '(ab)\d\1'i    ab4Ab    y    $1    ab
  395. foo\w*\d{4}baz    foobar1234baz    y    $&    foobar1234baz
  396. a(?{})b    cabd    y    $&    ab
  397. a(?{)b    -    c    -    /a(?{)b/: Sequence (?{...}) not terminated or not {}-balanced
  398. a(?{{})b    -    c    -    /a(?{{})b/: Sequence (?{...}) not terminated or not {}-balanced
  399. a(?{}})b    -    c    -    /a(?{}})b/: Sequence (?{...}) not terminated or not {}-balanced
  400. a(?{"{"})b    -    c    -    /a(?{"{"})b/: Sequence (?{...}) not terminated or not {}-balanced
  401. a(?{"\{"})b    cabd    y    $&    ab
  402. a(?{"{"}})b    -    c    -    Unmatched right bracket
  403. a(?{$bl="\{"}).b    caxbd    y    $bl    {
  404. x(~~)*(?:(?:F)?)?    x~~    y    -    -
  405. ^a(?#xxx){3}c    aaac    y    $&    aaac
  406. '^a (?#xxx) (?#yyy) {3}c'x    aaac    y    $&    aaac
  407. (?<![cd])b    dbcb    n    -    -
  408. (?<![cd])[ab]    dbaacb    y    $&    a
  409. (?<!(c|d))b    dbcb    n    -    -
  410. (?<!(c|d))[ab]    dbaacb    y    $&    a
  411. (?<!cd)[ab]    cdaccb    y    $&    b
  412. ^(?:a?b?)*$    a--    n    -    -
  413. ((?s)^a(.))((?m)^b$)    a\nb\nc\n    y    $1;$2;$3    a\n;\n;b
  414. ((?m)^b$)    a\nb\nc\n    y    $1    b
  415. (?m)^b    a\nb\n    y    $&    b
  416. (?m)^(b)    a\nb\n    y    $1    b
  417. ((?m)^b)    a\nb\n    y    $1    b
  418. \n((?m)^b)    a\nb\n    y    $1    b
  419. ((?s).)c(?!.)    a\nb\nc\n    y    $1    \n
  420. ((?s).)c(?!.)    a\nb\nc\n    y    $1:$&    \n:\nc
  421. ((?s)b.)c(?!.)    a\nb\nc\n    y    $1    b\n
  422. ((?s)b.)c(?!.)    a\nb\nc\n    y    $1:$&    b\n:b\nc
  423. ^b    a\nb\nc\n    n    -    -
  424. ()^b    a\nb\nc\n    n    -    -
  425. ((?m)^b)    a\nb\nc\n    y    $1    b
  426. (?(1)a|b)    a    n    -    -
  427. (?(1)b|a)    a    y    $&    a
  428. (x)?(?(1)a|b)    a    n    -    -
  429. (x)?(?(1)b|a)    a    y    $&    a
  430. ()?(?(1)b|a)    a    y    $&    a
  431. ()(?(1)b|a)    a    n    -    -
  432. ()?(?(1)a|b)    a    y    $&    a
  433. ^(\()?blah(?(1)(\)))$    (blah)    y    $2    )
  434. ^(\()?blah(?(1)(\)))$    blah    y    ($2)    ()
  435. ^(\()?blah(?(1)(\)))$    blah)    n    -    -
  436. ^(\()?blah(?(1)(\)))$    (blah    n    -    -
  437. ^(\(+)?blah(?(1)(\)))$    (blah)    y    $2    )
  438. ^(\(+)?blah(?(1)(\)))$    blah    y    ($2)    ()
  439. ^(\(+)?blah(?(1)(\)))$    blah)    n    -    -
  440. ^(\(+)?blah(?(1)(\)))$    (blah    n    -    -
  441. (?(1?)a|b)    a    c    -    /(?(1?)a|b)/: Switch (?(number? not recognized
  442. (?(1)a|b|c)    a    c    -    /(?(1)a|b|c)/: Switch (?(condition)... contains too many branches
  443. (?(?{0})a|b)    a    n    -    -
  444. (?(?{0})b|a)    a    y    $&    a
  445. (?(?{1})b|a)    a    n    -    -
  446. (?(?{1})a|b)    a    y    $&    a
  447. (?(?!a)a|b)    a    n    -    -
  448. (?(?!a)b|a)    a    y    $&    a
  449. (?(?=a)b|a)    a    n    -    -
  450. (?(?=a)a|b)    a    y    $&    a
  451. (?=(a+?))(\1ab)    aaab    y    $2    aab
  452. ^(?=(a+?))\1ab    aaab    n    -    -
  453. (\w+:)+    one:    y    $1    one:
  454. $(?<=^(a))    a    y    $1    a
  455. (?=(a+?))(\1ab)    aaab    y    $2    aab
  456. ^(?=(a+?))\1ab    aaab    n    -    -
  457. ([\w:]+::)?(\w+)$    abcd:    n    -    -
  458. ([\w:]+::)?(\w+)$    abcd    y    $1-$2    -abcd
  459. ([\w:]+::)?(\w+)$    xy:z:::abcd    y    $1-$2    xy:z:::-abcd
  460. ^[^bcd]*(c+)    aexycd    y    $1    c
  461. (a*)b+    caab    y    $1    aa
  462. ([\w:]+::)?(\w+)$    abcd:    n    -    -
  463. ([\w:]+::)?(\w+)$    abcd    y    $1-$2    -abcd
  464. ([\w:]+::)?(\w+)$    xy:z:::abcd    y    $1-$2    xy:z:::-abcd
  465. ^[^bcd]*(c+)    aexycd    y    $1    c
  466. (?{$a=2})a*aa(?{local$a=$a+1})k*c(?{$b=$a})    yaaxxaaaacd    y    $b    3
  467. (?{$a=2})(a(?{local$a=$a+1}))*aak*c(?{$b=$a})    yaaxxaaaacd    y    $b    4
  468. (>a+)ab    aaab    n    -    -
  469. (?>a+)b    aaab    y    -    -
  470. ([[:]+)    a:[b]:    y    $1    :[
  471. ([[=]+)    a=[b]=    y    $1    =[
  472. ([[.]+)    a.[b].    y    $1    .[
  473. [a[:xyz:    -    c    -    /[a[:xyz:/: unmatched [] in regexp
  474. [a[:xyz:]    -    c    -    /[a[:xyz:]/: unmatched [] in regexp
  475. ([a[:xyz:]b]+)    pbaq    y    $1    ba
  476. ((?>a+)b)    aaab    y    $1    aaab
  477. (?>(a+))b    aaab    y    $1    aaa
  478. ((?>[^()]+)|\([^()]*\))+    ((abc(ade)ufh()()x    y    $&    abc(ade)ufh()()x
  479. (?<=x+)y    -    c    -    /(?<=x+)y/: variable length lookbehind not implemented
  480. a{37,17}    -    c    -    /a{37,17}/: Can't do {n,m} with n > m
  481. a\Z    a\nb\n    n    -    -
  482. b\Z    a\nb\n    y    -    -
  483. b\z    a\nb\n    n    -    -
  484. b\Z    a\nb    y    -    -
  485. b\z    a\nb    y    -    -
  486.